MS Outlook prilohy
Otázka od: janpolasek@vol.cz
21. 11. 2002 13:46
Hi everybody,
Mam D4 prof a pomoci OLE jsem napsal s pomoci prikladu
delphi3000.com proceduru na stahovani dennich davek datovych souboru
A slozenek
Ceske posty - viz nize kus zdrojaku.
Program bezel dva roky celkem bez problemu, pomoci MS Outlooku
projde slozku Dorucena posta a z doslych emailu vyfiltruje prilohy
a ulozi do urceneho pracovniho adresare, kde dojde k rozsifovani
atd. Chodilo to s Outlookem 97 a pak i s Outlookem 2000
Problem je v tom, ze od urcite doby to prestalo chodit a to tak, ze:
- prilohy starsich nevymazanych emailu, ktere Outlook zobrazuje v
jednom okne s textem emailu se nactou jako driv OK
- novejsi emaily Outlook zobrazuje jinak : maji text v jednom okne a
prilohy ve spodnim uzkem okne.
Tyto prilohy uz program nenacte.
Asi doslo k nejakemu nastaveni formatu emailu, ale neumim to vratit,
nebo
Odesilatele pouzivaji jiny format?
v procedure pouzivam promenne typu vatiant a string
oApp := CreateOLEObject('Outlook.Application');
try
oNs := oApp.GetNamespace('MAPI');
ofolder := oNs.GetDefaultFolder(6); // FolderTypeEnum
(olFolderInbox)
MailCounter := 1;
// je-li email v Dorucene poste
if ofolder.items.count > 0 then
begin
repeat
oMsg := ofolder.items(MailCounter);
Den := oMsg.CreationTime;
PredmetEmailu:= oMsg.subject;
Odesilatel := oMsg.sendername;
if VybranyOdesilatel = Odesilatel then
begin
atc := oMsg.Attachments.count;
if atc > 0 then (* pocet priloh *)
begin
for Counter := 1 to atc do
begin
AttFileName :=
oMsg.Attachments.item(Counter).FileName; FileName
:= AttachmentPath+'\'+AttFileName;
(*zde se ulozi soubor prilohy do pozadovaneho adresare *)
oMsg.Attachments.Item(Counter).SaveAsFile(FileName);
end;
end;
end;
inc(MailCounter);
until MailCounter > ofolder.items.count;
end;
finally
(*oApp.quit; *)(* vypne Outlook *)
end;